/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package runebound.modelo.monstruos.comportamientos;

import runebound.manejadores.RBControladorJuego;
import runebound.manejadores.eventos.combate.RBEventoTestResultado;
import runebound.modelo.Habilidad;
import runebound.modelo.Miniatura;
import runebound.modelo.heores.experiencia.Atributo;

/**
 *
 * @author malopez
 */
public class AntesCombateTestHit extends AntesDeCombateTest{

    /**
     * 
     * @param habilidad
     * @param valorTest
     * @param objetivoExitoMonstruo
     * @param objetivoFalloMonstruo
     * @param hacerExito
     * @param hacerFallo
     * @param atributoExito
     * @param atributoFallo
     * @param valorAccionExito
     * @param valorAccionFallo 
     */
    public AntesCombateTestHit(Habilidad habilidad, int valorTest, boolean objetivoExitoMonstruo, boolean objetivoFalloMonstruo, boolean hacerExito, boolean hacerFallo, Atributo atributoExito, Atributo atributoFallo, int valorAccionExito, int valorAccionFallo) {
        super(habilidad, valorTest, objetivoExitoMonstruo, objetivoFalloMonstruo, hacerExito, hacerFallo, atributoExito, atributoFallo, valorAccionExito, valorAccionFallo);
    }

    
    
    @Override
    protected void antesDeCombateTestExito(Miniatura objetivo) {
        objetivo.hit(this.getValorAccionExito());
        RBControladorJuego.getInstance().recibirEvento(
                new RBEventoTestResultado(objetivo, 
                        Atributo.VIDA, 
                        this.getValorAccionExito()));
    }

    @Override
    protected void antesDeCombateTestFallo(Miniatura objetivo) {
        objetivo.hit(this.getValorAccionExito());
        RBControladorJuego.getInstance().recibirEvento(
                new RBEventoTestResultado(objetivo, 
                        Atributo.VIDA, 
                        this.getValorAccionFallo()));
    }
    
    
}
